我的 msysGit(Windows 上的 Git)在我的家用机器上工作得很好,但是在工作中,我们在 Microsoft ISA 代理后面,当我执行 git clone 时出现以下错误:
H:\>git clone git://github.com/akitaonrails/vimfiles.git Initialized empty Git repository in H:/vimfiles/.git/ github.com[0: 65.74.177.129]: errno=Invalid argument fatal: unable to connect a socket (Invalid argument)
我尝试将 http_proxy 环境变量设置为:
http://our-proxy-server:8088
我已经设置了 git http.proxy 配置指令:
git config --global http.proxy http://our-proxy-server:8088
以上都没有区别。
http://使用而不是执行 git clone会git://产生以下结果:
http://
git://
H:\>git clone http://github.com/akitaonrails/vimfiles.git Initialized empty Git repository in H:/vimfiles/.git/ fatal: http://github.com/akitaonrails/vimfiles.git/info/refs download error - The requested URL returned error: 407
407 当然是身份验证错误。
所以我的问题是:有没有人设法让 git 从代理后面工作,特别是 ISA 代理?我不知道这是否值得追求。非常感谢任何帮助。
我有完全相同的错误;但~/.gitconfig全局配置文件是关键。
~/.gitconfig
如果你有一个带身份验证的代理,你需要把它放进去:
git config --global http.proxy http://login:password@our-proxy-server:8088
它只是工作(使用’ git clone http:‘)
git clone http:
详细介绍相同设置的博客示例:通过 HTTP 进行 GIT 克隆:谁知道?
如果它仍然在 407 中失败,则可能与git-fetch 在第二个 HTTP GET 上丢失身份验证令牌的问题有关。可能需要更新版本的 libcurl 。
2011 年 1 月更新:jbustamovej在他的回答(赞成)他的博客文章“企业代理背后的 GitHub”中提到,其中添加了以下内容:
需要注意的是,如果您的登录有反斜杠,如 中domain\login,您必须转义反斜杠,如:
domain\login
git config --global http.proxy http://domain\\\login:password@our-proxy-server:8088